from django.shortcuts import render

from rest_framework.views import APIView

from rest_framework.response import Response

from django.core.paginator import Paginator

from .ser import *

from .models import *

# Create your views here.

# 新闻表操作
class Test(APIView):
    def get(self,request):
        return Response('ok')

class new(APIView):
    def post(self,request):
        # 调用序列化器
        ser=NewSer(data=request.data)
        # 验证
        if ser.is_valid():
            # 保存
            ser.save()
            # 返回
            return Response({'code':'200'})
        else:
            print(ser.errors)
            return Response({'code':'10010'})
    # 分页展示
    def get(self,request):
        # 获取新闻表信息
        new=New.objects.all()
        # 以分页的形式获取
        p=Paginator(new,2)
        # 获取当前页
        cpage=request.GET.get('cpage')
        # 获取当前页数据
        result=p.page(cpage)
        # 获取总页数
        tpages=p.num_pages
        # 调用序列化器
        ser=NewSer(result,many=True)
        # 返回
        return Response({'code':'200','newlist':ser.data,'tpages':tpages})

# 广告表操作
class advertisM(APIView):
    def post(self,request):
        # 调用序列化器
        ser=advertisiSer(data=request.data)
        # 验证
        if ser.is_valid():
            # 保存
            ser.save()
            # 返回
            return Response({'code':'200'})
        else:
            print(ser.errors)
            return Response({'code':'10010'})

    #   分页展示
    def get(self,request):
        # 获取广告表所有信息
        adv=advertising.objects.all()
        # 以分页的形式获取
        p=Paginator(adv,2)
        # 获取当前页
        cpage=request.GET.get('cpage')
        # 获取当前页数据
        result=p.page(cpage)
        # 获取总页数
        tpages=p.num_pages
        # 调用序列化器
        ser=advertisiSer(result,many=True)
        # 返回
        return Response({'code':'200','advlist':ser.data,'tpages':tpages})
